using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;

namespace Adoor.Object.Domain
{
    internal static class AppSettingsPath
    {
        private const string COMPILER_OUTPUT_FOLDER = "AdoorCompilerOutputAssemblyFolder";
        private const string COMPILER_DEBUG = "AdoorDebugCompiler";
        private const string COMPILER_TYPE = "AdoorCompiler";
        private const string INCLUDE_DEBUG = "AdoorCompilerIncludeDebugInformation";
        private const string KEEP_ASSEMBLIES = "AdoorKeepGeneratedAssemblies";
        private const string USE_AOP = "AdoorUsesAOP";

        public static string CompilerOutputAssemblyFolder
        {
            get { return ConfigurationManager.AppSettings[COMPILER_OUTPUT_FOLDER]; }
        }



        public static bool DebugCompiler
        {
            get { return "true".Equals(ConfigurationManager.AppSettings[COMPILER_DEBUG]); }
        }

        public static bool DoNotRegenerateAssemblies
        {
            get { return "true".Equals(ConfigurationManager.AppSettings[KEEP_ASSEMBLIES]); }
        }

        public static bool IncludeDebugInfo
        {
            get { return "true".Equals(ConfigurationManager.AppSettings[INCLUDE_DEBUG]); }
        }

        public static string CompilerProviderType
        {
            get { return ConfigurationManager.AppSettings[COMPILER_TYPE]; }
        }

        public static bool UseAOP
        {
            get { return (ConfigurationManager.AppSettings[USE_AOP]!=null); }
        }
    }
}
